#ifndef _THREAD_TEST_
#define _THREAD_TEST_

// added by tangyafeng@seedclass 3-26-2011

class Scheduler;

// Thread Test Structure ...I know this is ugly, but I just want want create the thread in
// Function Thread::SelfTest... which is test thread original place it created
typedef class ChildThreadTestStruct {
public:
    ChildThreadTestStruct(){}
    ~ChildThreadTestStruct(){}
    char ThreadName[64];
    int  ThreadPriority;    
    int  RemainRunTime;    
}ChildThreadTestStruct;

typedef class ThreadTestStruct {
public:
    ThreadTestStruct(){}
    ~ThreadTestStruct()
    {
        if (!CTTS)
        {
            delete CTTS;	//delete this, free memo
        }
    }
    int SchedPolicy;
    int NumOfThread;
    ChildThreadTestStruct* CTTS;  // emm... niubility~!
}ThreadTestStruct;

// Pass this to the Test function SimpleThreadforHPFS
struct ThreadRunStruct {
        char* ThreadName;         
            int RunTime;
                };

// Read the Thread Test File (default is TestThread.conf)
bool ReadThreadTestPara(Scheduler* scheduler, char* FileName, ThreadTestStruct* tts);
// Clear a char array
void ClearString(char* str);

#endif	//end ifndef
